For PSK (Phase Shift Keying) communication system, the carrier phase is modulated by the transmitted data. Taking BPSK (Binary PSK) for example, the carrier phase is reversed (added 180 degrees) when a data symbol 0 is transmitted. On the other hand, the carrier phase is not changed when a data symbol 1 is transmitted. In general, the carrier phase is changed according to the transmitted data symbol. For a MPSK (Multiple PSK) modulation, where M is equal to 2 (BPSK), 4(QPSK) and so on, the carrier phase will stay in one of the M states:
  0  ,      360    M    ,            360      ×      2        M    ,  …  ⁢          ,            360      ×              (                  M          -          1                )              M  degrees, when a data symbol is transmitted. The received carrier phase is also changed due to the user motion, clock drift and so on. Therefore, the receiver must run a synchronization process to track the carrier phase before it can detect the transmitted data symbol. In the synchronization process, the receiver must eliminate the effect of the phase change due to the data symbol or bit transition. For example, a squaring method or Costas PLL (Phase Lock Loop) in a BPSK carrier tracking loop is usually used to track the carrier phase which removes the data bit transition in its phase error discriminator. When the carrier tracking loop of an MPSK receiver achieves its steady state (i.e. locking the signal), there exists a phase ambiguity. That is, it can track the carrier phase but with a possible error of
      360    M    ,            360      ×      2        M    ,  …  ⁢          ,            360      ×              (                  M          -          1                )              M  degrees.
Taking BPSK PLL for example, the tracked carrier phase might be exact or has a phase reversal existing with an error of 180 degrees. After the PLL is locked, the transmitted data bit can be determined by detecting the phase transition. Then, the stream of transmitted data bits or symbols is checked to correct the phase ambiguity of PLL. In general, a preamble per data frame is used to synchronize the data frame boundary and correct the data symbol phase due to the phase synchronization ambiguity. The preamble is a fixed and known pattern of data symbols so that the receiver can check the received data phase by comparing the received preamble with the defined preamble. If a cycle slip occurs during the PLL operation, there might be a phase ambiguity error after the PLL locks the signal again. Then, we must use the content of the transmitted data to correct the phase ambiguity. Note that a transmitted data frame is corrupted when a phase ambiguity error (phase reversal in BPSK) occurs during its transmission. Therefore, the defined preamble pattern can always be used to correct the phase reversal error. However, the preamble appears once every data frame. Therefore, it can not correct the data phase reversal when the signal strength is so weak that the preamble length is not enough to detect the phase reversal. Moreover, a data frame is corrupted when a phase reversal occurs during its transmission. The following data frame is restored by checking the preamble. This means that it is often not possible to quickly correct the phase reversal error by using the preamble and therefore results in corrupted frames. Therefore, it will be highly desired if a technique for improving phase reversal correction speed can be provided.
In GNSS, the navigation data message is usually transmitted by BPSK or DPSK (Differential PSK) modulation. For GPS (Global Positioning System) where BPSK is used to transmit the navigation data message, one data frame consists of 10 words. One word is 30 bits and protected by a parity check code. Each data bit is 20 ms. The BPSK phase ambiguity is resolved in the parity check algorithm. Meanwhile, there is a preamble (a fixed bit pattern) in the first word (TLM word) of a frame. This preamble can be used to synchronize the data frame boundary and can also be used to correct the BPSK phase reversal. In order to successfully receive a word without corruption, there cannot be any phase reversal during the transmission of the data word, which is 600 ms. The SBAS (Satellite Based Augmentation System) also uses BPSK. A SBAS data frame consists of 500 symbols with each symbol of 2 ms. The data frame is protected by convolutional encoding and a preamble per frame is also used to correct the BPSK phase reversal. Accordingly, it is required that there is no phase reversal during the transmission of a data frame, which is 1 second. For Galileo E1B signal, a BPSK data frame consists of 250 symbols with each symbol being 4 ms. There is a preamble pattern per frame to correct the phase reversal. Therefore, the data phase is required to be stable during 1 second. As can be seen, using the preamble to correct the phase reversal error requires that there is no phase reversal error in one data frame which has a long time in GNSS signal. This might be a problem for high dynamic and weak signal. Therefore, we might need another technique to correct phase reversal error.
A GNSS receiver must measure the ranges to satellites to determine its position. The range between a receiver and a satellite is called PR (Pseudo-Range) and is measured by detecting the TOA (time of arrival) of the signal transmitted by the satellite. The broadcast satellite navigation data message carries the system time (TOW, time of week), which is required to determine the TOA. Moreover, it is required in the computation of satellite's position. Therefore, the data must be collected correctly so that the receiver can determine the user's position, velocity and system time (PVT). However, the carrier frequency and phase must be tracked stably before the receiver can detect the data bit, which modulates the carrier phase. If a PLL is used, both the frequency and phase of the carrier are locked. The receiver can detect the BPSK data bit by checking the locked carrier phase. On the other hand, only the carrier frequency is locked in a FLL and we must use DD (differential detection) technique to detect the data bit. That is, a different data bit from the last data bit is transmitted if there is a carrier phase transition. Note that there are possibly phase reversal errors in both PLL and FLL based data detection. In theory, the data detection performance, such as bit error rate, of PLL is better than FLL. However, the PLL tracking robustness is weaker than FLL. For example, FLL can lock the carrier for weaker signals and higher user dynamics. Therefore, it is preferred to use FLL and DD technique to detect the BPSK data so that the receiver can work well for weaker signals and higher dynamics.
As mentioned above, we can use DD technique in a FLL to detect the BPSK data bit. The DD method is to check if there is a phase transition between two adjacent carrier phases as estimated by the FLL. A current data symbol is determined based on the phase transition and the previous symbol phase. However, a DD error will propagate and cause phase reversal errors of all the following received symbols. This is equivalent to a burst error of data symbols. For example, if one DD error occurs in the detection of the third SBAS data symbol in a frame, all the phases of the following 247 data symbol in the same frame are reversed. In general, it is difficult to resolve a long burst error by using an error detection or correction code, such as a convolutional code used in the SBAS frame. A minor DD error rate results in a severe frame (or bit) error rate especially for a data frame which consists of many data bits, such as a SBAS data frame. Therefore, the FLL and DD method might be good for GPS but not suitable for SBAS and Galileo since the latter two systems require the carrier phase to be stable in a long period of data frame, which is 1 second. Therefore, the FLL is preferred for its robustness but it is desirable to provide a technique to correct the burst error of data symbol due to the DD error of FLL.
As discussed, there is phase ambiguity issue in both PLL and FLL and the receiver can check the preamble (or a sync word) to correct it. That is, the phase reversal can be corrected by checking a known sequence of a frame, for example, a SW (sync word) in the header of a frame. FIG. 1 schematically shows how a phase reversal corrupts a frame and the timing of phase correction in prior art. As shown, there is a phase reversal occurring during the first frame in the drawing. Therefore, this frame is a bad frame and must be discarded since the receiver fails to know when the phase reversal occurs in this frame. The receiver cannot get aware of the occurrence of the phase reversal until the SW of the next frame is received and checked. To check the SW of 40 ms (i.e. 10 symbols) in Galileo E1B, for example, a total correlation value (i.e. accumulation of correlation results of the received SW symbols with corresponding symbols of a known SW sequence), which is referred to as metricSW herein, of the received SW and the known SW sequence is calculated as follows:
                    metricSW        =                              ∑                          i              =              0                        9                    ⁢                                    SW              ⁡                              (                i                )                                      ·                          symB              ⁡                              (                i                )                                                                        (        1        )            where SW(i) is a symbol of the received SW, and symB(i) is a corresponding symbol of the known SW sequence.
If there is no phase reversal, the value of metricSW in the case of Galileo E1B should be 10 in the best situation when hard decision of symB(i) is used, i.e., symB(i)=1 or −1. If CNR (carrier-to-noise ratio) is low, the metricSW value may be less than 10 because some errors of symB occur. If there has been a phase reversal before the SW is received, then the metricSW value should be negative. FIG. 2 is a diagram showing a relationship between the metricSW value and CNR. As can be seen from this drawing, when CNR is low, a false alarm of phase reversal correction is easy to happen. That is, the receiver cannot determine the phase reversal correction when the CNR is weak.
As discussed above, it will be highly desirable if a technique for improving phase reversal correction sensitivity and speed can be provided.